草庐IT

c++ - 迁移到 c++11

全部标签

c - 通过 fopen 创建文件在 Linux 上运行良好但在 Windows 上运行不正常(MS VS 2010)

您好,我正在尝试在MicrosoftVisualStudioUltimate2010中执行由以下代码生成的.exe文件,但我没有看到正在创建的文件。这段代码在使用GCC的Linux中编译和执行时工作得非常好。重复一遍,我可以使用在Linux中创建的文件!!但在Windows中,.exe程序无法为用户在命令提示符下输入的名称创建文件。有人可以让我知道我在编译器方面出了什么问题吗?真诚的感谢//filename.cpp:Definestheentrypointfortheconsoleapplication.#include"stdafx.h"//Pleasecommentifcodeis

c++ - C/C++ Windows - ExtractIcon() 不检索所有可执行文件的图标

这只是我正在做的事情的片段:PROCESSENTRY32pe32;pe32.dwSize=sizeof(PROCESSENTRY32);hProcessSnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);if(hProcessSnap==INVALID_HANDLE_VALUE)return;if(!Process32First(hProcessSnap,&pe32)){CloseHandle(hProcessSnap);//cleanthesnapshotobjectreturn;}do{hProcess=OpenProcess(P

c - 如何使用句柄检索流程描述和公司名称?

如何使用句柄检索过程描述和公司名称。我正在使用WindowsAPI函数。 最佳答案 版本(和版权)信息存储在文件版本信息中。您可以使用GetFileVersionInfo获取它们功能。可以通过简单调用GetFileVersionInfo来检索版本以填充VS_FIXEDFILEINFO结构,但版权信息(在您的情况下为ProductName和CompanyName)存储在本地化/可本地化的文本字段中。例如看VerQueryValue功能。 关于c-如何使用句柄检索流程描述和公司名称?,我们在

c - 通过随机重命名覆盖 Windows 中的文件失败

我有一个文本文件,我想通过将其重写为临时文件然后覆盖原始文件来进行编辑。这段代码没有这样做,因为它被简化了,但它确实包含了我遇到的问题。在Windows上,当重命名函数失败时,EXAMPLE.TXT文件将在看似随机的运行次数后消失。我不知道为什么,但到目前为止它在Linux上运行良好。为什么会发生这种情况,我该如何从完全不同的方向解决它,例如在不重命名的情况下从程序中覆盖原始文件?此外,还有哪些其他更好的方法?此方法在Windows上还有其他缺陷,例如程序在调用remove之后但在重命名之前被用户关闭,这在Linux上不会有问题(在删除remove之后)?#include#includ

c - Windows 创建窗口 API

我是Windows编程的新手。在Windows操作系统上,几乎每个应用程序都会打开一个窗口,我想知道是否所有这些应用程序都调用相同的APICreateWindow()来创建它们的窗口?或者,换一种方式来问我的问题:游戏、音乐播放器、浏览器、即时消息、IDE等是否都通过调用APICreateWindow()创建它们的窗口?如果不是,还有哪些其他API可用于在Windows上创建窗口? 最佳答案 是的,还有CreateWindowEx是唯一可以创建窗口的API(其他相关API,例如DialogBox和AllocConsole也在内部执行

C++ 删除管理员权限

我的程序使用了一个创建数据文件的库,有一个问题是一些用户错误地“以管理员身份运行”我的程序,结果是一些数据文件是以管理员所有者创建的,普通用户无法编辑稍后。我正在寻找一种“放弃”管理员权限的方法,允许我的程序继续运行,例如没有用户“以管理员身份运行”?我该怎么做? 最佳答案 要执行您要求的操作,您需要检测您是否以管理员身份运行,如果是,则创建一个受限token,然后使用该token重新启动程序。http://msdn.microsoft.com/en-us/library/aa446583(VS.85).aspx获得类似结果的其他方

c++ - 如何获取我的线程的语言环境名称?

例如,我可以使用_create_locale在我的C程序中设置语言环境因此:localeUS=_create_locale(LC_ALL,"English_UnitedStates.1252");但我需要的是相反的,即为调用线程检索语言环境名称(上面函数的第二个参数)。知道怎么做吗?附言。我知道现代Windows使用LCID。我需要此语言环境名称以与旧代码兼容。 最佳答案 希望您可以使用标准C++。来自std::locale::name:例子#include#include#includeintmain(){std::localel

c - 使用 CreateThread() 在 C 中线程化

我是C的新手,我正在尝试编写一个程序来运行MIDI序列,基本上,我有两个函数,都运行不同的MIDI模式,我需要它们并行运行。由于函数的性质(一个运行序列,另一个播放随机音符),我几乎100%确定我不能在同一函数中运行。我一直在互联网上搜索有关如何使用pthread(这显然在Windows上不起作用?)和CreateThread()执行此操作的线索,但我似乎无法让它工作。我目前正在尝试使用CreateThread()并尝试引入随机midi序列所需的整数,但我收到有关“LPTHREAD_START_ROUTINE”的错误,内容为:“预期的‘LPTHREAD_START_ROUTINE’,但

c++ - 有关虚拟文件夹的文档

我正在寻找有关如何制作虚拟文件夹的WindowsAPI文档。我将制作我自己的文件系统,并希望在该文件系统的“计算机”下有一个图标。我见过其他具有此类解决方案的程序,例如允许我在Explorer程序中探索Linux文件系统的程序。很像我要制作的相同解决方案。我还没有找到任何关于如何执行此操作的文档,或者我在搜索错误的东西吗?谢谢。 最佳答案 您正在寻找Shell命名空间扩展。文档的入口点是CreatingShellDataSourceObjectsandExtendingtheShellNamespace.可以在codeplex上找到

c - 获取 CPU 型号名称、供应商 ID、Windows C 中的物理处理器数量

我看到了this主题,但我没有提供我需要的所有信息。是否有任何可移植的方式(仅限所有Windows的可移植)来获取cpu型号名称、供应商ID和物理处理器的数量? 最佳答案 您提供的链接适用于Windows的移动版本,因此如果您所说的可移植版本也指桌面版本,那么GetSystemInfo可用于(如所述)Window2000及更高版本的所有版本。如果您需要比这更旧的版本,那么您应该给出一些限制。 关于c-获取CPU型号名称、供应商ID、WindowsC中的物理处理器数量,我们在StackOv